$(document).ready(function() {
	$('form.reg input[name=name]').bind({
	    'focus':function() {
			$('form.reg span.name.success').hide();
			$('form.reg span.name.error').html('').hide();
			$('form.reg span.name.info').show();
	     },
	     'blur':function() {
	        $('form.reg span.name.info').hide();
	        checkName();
	     }
	});
	
	function checkName() {
		var val = $('form.reg input[name=name]').val();
		if(val.length >= 2 && val.length <= 20) {
		   if(/[\'"<>’”\/\\\)]/.test(val)) {
		      $('form.reg span.name.error').html('不能包含非法字符!').show(); 
		      $('#flag').val('false');  
		      return ;	
		   } else {
			  $(document).ajaxStart(function() {
			  	   $('form.reg span.name.success').hide();
                   $('form.reg span.name.error').html('').hide();
	               $('span.user.loading').show();
	          }).ajaxStop(function() {
	               $('span.user.loading').hide();
	          });
		   	  $.ajax({
		   	      'url':'./uniqueName',
		   	      'data':{
		   	          'name':val
		   	      },
		   	      'type':'post',
		   	      'success':function(text) {
		   	          if(text == 1) {
		   	              $('form.reg span.name.error').html('用户名已被占用!').show();
		   	              $('#flag').val('false'); 
		   	              return ;      	
		   	          } else {
		   	          	  $('form.reg span.name.success').show();
		   	          	  $('#flag').val('true');      
		   	          }    	
		   	      }	
		   	  });
		   }      
		} else {
		   $('form.reg span.name.error').html('用户名长度不合法!').show();
		   $('#flag').val('false');
		}
	}
	
	$('form.reg input[name=pass]').bind({
		'focus':function() {
		    $('form.reg span.pass.success').hide();
            $('form.reg span.pass.error').html('').hide();
            $('form.reg span.pass.info').show();     
		},
		'blur':function() {
		    $('form.reg span.pass.info').hide(); 
		    checkPass();    
		}
		
	});
	
	function checkPass() {
		var val = $('form.reg input[name=pass]').val();
		if(val.length < 6) {
			$('form.reg span.pass.error').html('密码长度低于六位!').show();
			$('#flag').val('false');
			return ;
		} else {
			$('form.reg span.pass.success').show();
			$('#flag').val('true');
		}
	}
	
	$('form.reg input[name=notpass]').bind({
		'focus':function() {
            $('form.reg span.notpass.success').hide();
            $('form.reg span.notpass.error').html('').hide();
            $('form.reg span.notpass.info').show();     
        },
        'blur':function() {
            $('form.reg span.notpass.info').hide(); 
            checkNotPass();    
        }
	});
	
	function checkNotPass() {
        var val = $('form.reg input[name=notpass]').val();
        if(val != $('form.reg input[name=pass]').val() || val == '') {
            $('form.reg span.notpass.error').html('两次密码输入不一致!').show();
            $('#flag').val('false');
            return ;
        } else {
            $('form.reg span.notpass.success').show();
            $('#flag').val('true');
        }
    }
    
    $('form.reg input[name=email]').bind({
        'focus':function() {
            $('form.reg span.email.success').hide();
            $('form.reg span.email.error').html('').hide();
            $('form.reg span.email.info').show();     
        },
        'blur':function() {
            $('form.reg span.email.info').hide(); 
            checkEmail();    
        }
    });
    
    function checkEmail() {
        var val = $('form.reg input[name=email]').val();
        if(!/^[\w\_]+@[\w\_]+(.[\w]+)+$/.test(val)) {
        	$('form.reg span.email.error').html('电子邮件不合法!').show();
        	$('#flag').val('false');
        	return ;
        } else {
        	$(document).ajaxStart(function() {
			    $('form.reg span.email.success').hide();
	            $('form.reg span.email.error').html('').hide();
	            $('span.email.loading').show();
            }).ajaxStop(function() {
                $('span.email.loading').hide();
            });
              $.ajax({
                  'url':'./uniqueEmail',
                  'data':{
                      'email':val
                  },
                  'type':'post',
                  'success':function(text) {
                      if(text == 1) {
                          $('form.reg span.email.error').html('电子邮件已被占用!').show();
                          $('#flag').val('false'); 
                          return ;          
                      } else {
                          $('form.reg span.email.success').show();
                          $('#flag').val('true');      
                      }     
                  } 
              });
        } 
    }
   
     $('form.reg input[name=ans]').bind({
        'focus':function() {
            $('form.reg span.ans.success').hide();
            $('form.reg span.ans.error').hide();
            $('form.reg span.ans.info').show();     
        },
        'blur':function() {
            $('form.reg span.ans.info').hide(); 
            checkAns();    
        }   	
     });
     
     function checkAns() {
     	var val = $('form.reg input[name=ans]').val();
     	if(val == '') {
            $('form.reg span.ans.error').show();
            $('#flag').val('false');
            return ;
     	} else {
     		$('form.reg span.ans.success').show();
     		$('#flag').val('true');
     	}
     }
     
     $('form.reg input[name=checkcode]').bind({
        'focus':function() {
            $('form.reg span.check.success').hide();
            $('form.reg span.check.error').hide();
            $('form.reg span.check.info').show();     
        },
        'blur':function() {
            $('form.reg span.check.info').hide(); 
            checkCd();    
        }       
     });
     
     function checkCd() {
     	var val = $('form.reg input[name=checkcode]').val();
     	$(document).ajaxStart(function() {
     		$('form.reg span.check.success').hide();
            $('form.reg span.check.error').hide();
     		$('span.check.loading').show();
     	}).ajaxStop(function() {
     		$('span.check.loading').hide();
     	});
     	$.ajax({
     		'url':'./ajaxCheckCode',
     		'async':false,
            'data':{
              'code':val
            },
            'type':'post',
            'success':function(text) {
            if(text == 0) {
	            $('form.reg span.check.error').show();
	            $('#flag').val('false'); 
                return ;          
            } else {
	            $('form.reg span.check.success').show();
	            $('#flag').val('true');      
            }     
           } 
     	});
     }
     
     $('form.reg').submit(function() {
        checkName();
        checkPass();
        checkNotPass();
        checkEmail();
        checkAns();
        checkCd();
        if($('#flag').val() != 'true') return false;
     });
    
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
});